import request from '@/config/axios'
import { get } from 'axios'
import { update } from 'lodash-es'

// 质检平台-样本信息 VO
export interface SampleInformationVO {
  id: number // 主键id
  projectId: number // 项目id
  status: number // 状态；0-未送检 1-送检 2-提交审核 3-审核完成
  sampleName: string // 样品名称
  sampleNum: string // 样品编号
  blindSampleNum: string // 盲样编号
  model: string // 规格型号
  executiveStandard: string // 执行标准：选择的存标准id,多个按“;”隔开
  standardType: number // 标准类型：0-手填 1-选择
  entrustCompany: string // 委托单位
  receiveCheckCompany: string // 受检单位
  productionCompany: string // 生产单位
  samplingSite: string // 抽样地点
  samplingDate: Date // 抽样日期
  sampleBatchNum: string // 样品批号
  productionDate: Date // 生产日期
  productPackaging: string // 产品包装
  storeCondition: string // 存放条件
  sampleCode: string // 物资编码
  samplingCardinalNum: string // 抽样基数
  samplingQuantity: string // 抽取样品量
  sealedSampleMethod: string // 封样形式
  deliveryType: string // 运送方式
  samplingPerson: string // 抽样人员
  accompanySamplingPerson: string // 陪同抽样人
  receiveCheckCompanyPerson: string // 受检单位人员
  samplingType: number // 抽样方式: 0-委托方自行抽样 1-机构自抽自检 2-第三方抽样
  returnSanpleType: number // 退样类型：0-不退 1-退 2-部分退
  returnSanpleReceiveBy: string // 退样接收人
  returnSanpleReceiveAddress: string // 退样收货地址
  returnSanpleReceivePhone: string // 退样接收电话
  checkType: number // 检查类别: 0-委托 1-监督 2-其他
  checkTimeLimit: Date // 检查时限
  orgId: string // 承检机构id
  resultRequire: number // 结构要求: 0-出具检查结果 1-判定检查结论
  targetRequire: number // 指标要求：0-指定检查项目 1-按照检查一句要求
  checkAccordingTo: string // 检查依据
  requireRemark: string // 检查要求备注
  requireAttachment: string // 检查要求附件
  reportNum: string // 报告编号
  checkStartTimr: Date // 检查开始时间
  checkEndTimr: Date // 检查结束时间
  reportDate: Date // 报告日期
  labName: string // 实验室名称
  mainCheckDevice: string // 主要检测设备
  checkState: number // 检验状态：0-未检验 1-开始检验 2-检验完成 3-重新检验
  checkConclusion: string // 检查结论
  checkPerson: string // 检查人员
  returnReason: string // 退回原因
  signAndSampleUrl: string // 抽样单签字版扫描件和样品照片,多个“;”隔开
  checkReportUrl: string // 检查报告url
}

// 质检平台-样本信息 API
export const SampleInformationApi = {
  // 查询质检平台-样本信息分页
  getSampleInformationPage: async (data: any) => {
    return await request.post({ url: `/qis/sample-information/page`, data })
  },

  // 查询质检平台-样本信息详情
  getSampleInformation: async (id: number) => {
    return await request.get({ url: `/qis/sample-information/get?id=` + id })
  },

  // 新增质检平台-样本信息
  createSampleInformation: async (data: SampleInformationVO) => {
    return await request.post({ url: `/qis/sample-information/create`, data })
  },

  // 修改质检平台-样本信息
  updateSampleInformation: async (data: SampleInformationVO) => {
    return await request.put({ url: `/qis/sample-information/update`, data })
  },

  // 删除质检平台-样本信息
  deleteSampleInformation: async (id: number) => {
    return await request.delete({ url: `/qis/sample-information/delete?ids=` + id })
  },

  // 导出质检平台-样本信息 Excel
  exportSampleInformation: async (params) => {
    return await request.download({ url: `/qis/sample-information/export-excel`, params })
  },


  // 检验信息
  getSampleInformationUpdateCheckInformation:async (data)=>{
    return await request.put({ url: `/qis/sample-information/updateCheckInformation`, data })
  },

  // 创建检查结果
  createCheckResultApi :async (data)=>{
    return await request.post({ url: `/qis/check-result/create`, data })
  },

  // 获取检验结果分页
  getCheckResultPageApi:async (data)=>{
    return await request.get({ url: `/qis/check-result/page`, data })
  },

  // 删除
  delCheckResultApi:async (id)=>{
    return await request.delete({ url: `/qis/check-result/delete?id=` + id })
  },

  // 审批样品
  getInfoMationApi :async (data)=>{
    return await request.post({ url: `/qis/sample-information/approval`, data })
  },

  // 文件上传
   uploadFileApi :async (data)=>{
    console.log(data,'data')
    return await request.post({ url: `/qis/file/upload-file`, data , headersType: 'multipart/form-data'})
   },

  // 状态变更记录
  getSampleChange :async (data)=>{
    return await request.get({ url: `/qis/sample-change-record/page`, data })
  },

  // 编辑检验结果
  updateCheckResultApi:async (data)=>{
    return await request.put({ url: `/qis/check-result/update`, data })
  },

  deleteCheckResultApi:async(ids)=>{
    return await request.delete({url:'/qis/check-result/delete?ids='+ ids})
  }
}
